From 3e7618fef7858fe90dfffee9db951d30009dedf8 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Tue, 30 Nov 2021 21:42:19 -0500 Subject: [PATCH] textbuffer: Try harder to fix pasting It turns out we can't just use the size returned by the memory stream as-is, since it may contain unfilled garbage at the end, which utf8 validation will choke on. So, cut it off at the first '\0' we find. --- gtk/gtktextbuffer.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gtk/gtktextbuffer.c b/gtk/gtktextbuffer.c index a99b25a940..c2cd148868 100644 --- a/gtk/gtktextbuffer.c +++ b/gtk/gtktextbuffer.c @@ -327,6 +327,8 @@ gtk_text_buffer_deserialize_text_plain_finish (GObject *source, if (data) { + if (memchr (data, '\0', size)) + size = -1; buffer = g_value_get_object (gdk_content_deserializer_get_value (deserializer)); gtk_text_buffer_get_end_iter (buffer, &end); gtk_text_buffer_insert (buffer, &end, data, size); -- 2.30.2